package com.sdyeda.iotapi;

import java.util.List;
import java.util.Map;

/**
 * 
 */
public interface IotBase {
	
	
	/**
	 * 生成发送二进制命令(读取指令）
	 * @param id 设备编号
	 * @return 返回二进制byte[]数组
	 */
	byte[] MakeSendBuff(String id);
	
	
	/**
	 * 生成发送二进制命令
	 * @param id 设备编号
	 * @param commond 命令："read"或"reset"
	 * @return 返回二进制byte[]数组
	 */
	byte[] MakeSendBuff(String id,String command);
	
	
	/**
	 * 解析返回的二进制数据
	 * @param receive 返回的二进制数据
	 * @return 解析后数据 数据中至少包含value(测量值),offset(偏移量);
	 * 可选包含id(编号),time(数据时间),temp(温度),strain(应变频率),compen(补偿频率)等其他数据
	 */
	String DecodeToJson(byte[] receive);
	/**
	 * 解析返回的二进制数据
	 * @param receive 返回的二进制数据
	 * @return 解析后数据 数据中至少包含value(测量值),offset(偏移量);
	 * 可选包含id(编号),time(数据时间),temp(温度),strain(应变频率),compen(补偿频率)等其他数据
	 */
	Map<String,Object> DecodeToMap(byte[] receive);
	
	
	/**
	 * 返回接口具备的能力
	 * @return 能力数组（"read"==读取，"reset"=重置）现只需支持以上两个接口和能力
	 */
	List<String> Skill();
	

}
